package models

import (
	"gorm.io/gorm"
	"project/weeksrv/global"
)

// 商品表
type Goods struct {
	gorm.Model
	GoodsName  string  `gorm:"type:varchar(21);column:goods_name;not null;comment:商品名称" json:"goods_name"`    // 商品名称
	GoodsPrice float64 `gorm:"type:decimal(8,2);column:goods_price;not null;comment:商品单价" json:"goods_price"` // 商品单价
	GoodsStock int     `gorm:"type:int(21);column:goods_stock;not null;comment:商品库存" json:"goods_stock"`      // 商品库存
	GoodsDesc  string  `gorm:"type:TEXT;column:goods_desc;not null;comment:商品详情" json:"goods_desc"`           // 商品详情
	GoodsSales int     `gorm:"type:int(21);column:goods_comment;not null;comment:商品销量" json:"goods_sales"`    // 商品销量
}

// 订单表
type Order struct {
	gorm.Model
	OrderSn     string  `gorm:"type:varchar(100);column:order_sn;not null;comment:订单编号" json:"order_sn"`                         // 商品名称
	TotalPrice  float64 `gorm:"type:decimal(8,2);column:total_price;not null;comment:订单金额" json:"total_price"`                   //订单金额
	OrderStatus int     `gorm:"type:tinyint(1);check:order_status IN (0,1);default:0;column:order_status;not null;comment:订单状态"` //订单状态
}

func Migrate() {
	err := global.DB.AutoMigrate(&Goods{}, &Order{})
	if err != nil {
		panic(err)
	}
}
